package com.newtouch.bxzs.common.base.model;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 收入详情实体类
 *
 * <p>
 * <b>History:</b>
 * <table border="1">
 * <tr>
 * <th>Date</th>
 * <th>Operator</th>
 * <th>Memo</th>
 * </tr>
 * <tr>
 * <td>2021/1/6 9:41</td>
 * <td>yuanjie</td>
 * <td>Create</td>
 * </tr>
 * </table>
 *
 * @author yuanjie
 * @version 1.0.0
 * @since 1.0.0
 */
@Data
@TableName("ASSISTANT_INCOME_DETAIL")
public class IncomeDetail {

    /**个人收入明细ID */
    @TableId(value = "INCOME_DETAIL_ID", type = IdType.ASSIGN_UUID)
    private String incomeDetailId;

    /** 创建人 */
    @TableField(value = "CREATE_USER_ID")
    private String createUserId;

    /** 创建时间 */
    @TableField(value = "CREATE_TIME")
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss", locale="zh", timezone="GMT+8")
    private Date createTime;

    /** 修改人 */
    @TableField(value = "UPDATE_USER_ID")
    private String updateUserId;

    /** 修改时间 */
    @TableField(value = "UPDATE_TIME")
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss", locale="zh", timezone="GMT+8")
    private Date updateTime;

    /**备注*/
    @TableField(value = "MEMO")
    private String memo;

    /**月份 */
    @TableField(value = "MONTH")
    private Date month;

    /**保单号 */
    @TableField(value = "POLICY_NUMBER")
    private String policyNumber;

    /**投保人姓名 */
    @TableField(value = "POLICY_HOLDER_NAME")
    private String policyHolderName;

    /**被保人姓名 */
    @TableField(value = "INSUREDER_NAME")
    private String insurederName;

    /**保单生效日期 */
    @TableField(value = "POLICY_EFFICIENT_DATE")
    private Date policyEfficientDate;

    /**产品编码 */
    @TableField(value = "PRODUCT_CODE")
    private String productCode;

    /**产品名称 */
    @TableField(value = "PRODUCT_NAME")
    private String productName;

    /**税前收入 */
    @TableField(value = "INCOME_PRE_TAX")
    private BigDecimal incomePreTax;

    /**数据来源 */
    @TableField(value = "DATA_SOURCE")
    private String dataSource;

    /**保单满期日期 */
    @TableField(value = "POLICY_EXPIRATION_DATE")
    private Date policyExpirationDate;
}
